/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Datos;

import Negocio.FacturaCliente;
import Negocio.Factura;
import Negocio.Cliente;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author INGENIERIA
 */
public class FacturaClienteDB {
    public boolean grabar(FacturaCliente factcli) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into cliente_factura values("+factcli.getF().getId()+", '"+factcli.getC().getCedula()+"')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public int eliminar(int num) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from cliente_factura where num_factura =" + num;
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public FacturaCliente buscar(int num) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente_factura where num_factura =" + num ;        
        ResultSet resultado = db.seleccion(query);
        FacturaCliente factCli=null;
        Factura fact = null;
        Cliente cli = null;
        if (resultado!=null) {
            resultado.next();
            factCli = new FacturaCliente();
            fact = new Factura();
            cli = new Cliente();
            fact.setId(resultado.getInt("num_factura"));           
            cli.setCedula(resultado.getString("cedula_cliente"));
            factCli.setF(fact);
            factCli.setC(cli);
        } 
        db.cerrarConexion();
        return factCli;        
    }
    
    public FacturaCliente buscarCed(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente_factura where cedula_cliente = '" + cedula +"'" ;        
        ResultSet resultado = db.seleccion(query);
        FacturaCliente factCli=null;
        Factura fact = null;
        Cliente cli = null;
        if (resultado!=null) {
            resultado.next();
            factCli = new FacturaCliente();
            fact = new Factura();
            cli = new Cliente();
            fact.setId(resultado.getInt("num_factura"));           
            cli.setCedula(resultado.getString("cedula_cliente"));
            factCli.setF(fact);
            factCli.setC(cli);
        } 
        db.cerrarConexion();
        return factCli;        
    }
    
    public ArrayList listar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from cliente_factura where num_factura="+id;
        ResultSet resultado = db.seleccion(query);
        FacturaCliente factCli=null;
        Factura fact = null;
        Cliente cli = null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            factCli = new FacturaCliente();
            fact = new Factura();
            cli = new Cliente();
            fact.setId(resultado.getInt(1));           
            cli.setCedula(resultado.getString(2));
            factCli.setF(fact);
            factCli.setC(cli);
            todos.add(factCli);
        }
        db.cerrarConexion();
        return todos;
    }
    
}
